(function( $ ){
    
    var handler = function (that) {
        $(that).css({top: $(window).height()});
    };

    var methods = {
        init : function( options ) { 
            var settings = $.extend( {
                'height' : 300
            }, options);
            this.height(settings.height);
            this.css({width: "100%", position : "absolute"});
            handler(this);
            var that = this;
            $(window).on("resize", function () { handler(that) });
        },
        show : function( options ) {
            this.init(options);
        },
        hide : function( ) { 
            $(window).off("resize", handler);
            $(this).hide();
        }
    };

    $.fn.celebrioKeyboard = function( method ) {
    
        // Method calling logic
        if ( methods[method] ) {
            return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
        } else if ( typeof method === 'object' || ! method ) {
            return methods.init.apply( this, arguments );
        } else {
            $.error( 'Method ' +  method + ' does not exist on jQuery.celebrioKeyboard' );
        }    
  
    };

})( jQuery );